I. Field
The present invention pertains generally to the field of communications and more specifically to a novel and improved system and method for voice recognition.
II. Background
Voice recognition (VR) represents one of the most important techniques to endow a machine with simulated intelligence to recognize user or user-voiced commands and to facilitate human interface with the machine. VR also represents a key technique for human speech understanding. Systems that employ techniques to recover a linguistic message from an acoustic speech signal are called voice recognizers. The term xe2x80x9cvoice recognizerxe2x80x9d is used herein to mean generally any spoken-user-interface-enabled device.
The use of VR (also commonly referred to as speech recognition) is becoming increasingly important for safety reasons. For example, VR may be used to replace the manual task of pushing buttons on a wireless telephone keypad. This is especially important when a user is initiating a telephone call while driving a car. When using a phone without VR, the driver must remove one hand from the steering wheel and look at the phone keypad while pushing the buttons to dial the call. These acts increase the likelihood of a car accident. A speech-enabled phone (i.e., a phone designed for speech recognition) would allow the driver to place telephone calls while continuously watching the road. In addition, a hands-free car-kit system would permit the driver to maintain both hands on the steering wheel during call initiation.
Speech recognition devices are classified as either speaker-dependent (SD) or speaker-independent (SI) devices. Speaker-dependent devices, which are more common, are trained to recognize commands from particular users. In contrast, speaker-independent devices are capable of accepting voice commands from any user. To increase the performance of a given VR system, whether speaker-dependent or speaker-independent, training is required to equip the system with valid parameters. In other words, the system needs to learn before it can function optimally.
A speaker-dependent VR device typically operates in two phases, a training phase and a recognition phase. In the training phase, the VR system prompts the user to speak each of the words in the system""s vocabulary once or twice (typically twice) so the system can learn the characteristics of the user""s speech for these particular words or phrases. An exemplary vocabulary for a hands-free car kit might include the digits on the keypad; the keywords xe2x80x9ccall,xe2x80x9d xe2x80x9csend,xe2x80x9d xe2x80x9cdial,xe2x80x9d xe2x80x9ccancel,xe2x80x9d xe2x80x9cclear,xe2x80x9d xe2x80x9cadd,xe2x80x9d xe2x80x9cdelete,xe2x80x9d xe2x80x9chistory,xe2x80x9d xe2x80x9cprogram,xe2x80x9d xe2x80x9cyes,xe2x80x9d and xe2x80x9cnoxe2x80x9d; and the names of a predefined number of commonly called coworkers, friends, or family members. Once training is complete, the user can initiate calls in the recognition phase by speaking the trained keywords, which the VR device recognizes by comparing the spoken utterances with the previously trained utterances (stored as templates) and taking the best match. For example, if the name xe2x80x9cJohnxe2x80x9d were one of the trained names, the user could initiate a call to John by saying the phrase xe2x80x9cCall John.xe2x80x9d The VR system would recognize the words xe2x80x9cCallxe2x80x9d and xe2x80x9cJohn,xe2x80x9d and would dial the number that the user had previously entered as John""s telephone number. Systems and methods for training
A speaker-independent VR device also uses a training template that contains a prerecorded vocabulary of a predefined size (e.g., certain control words, the numbers zero through nine, and yes and no). A large number of speakers (e.g., 100) must be recorded saying each word in the vocabulary.
Different speaker independent VR devices may yield different results. For example, a speaker independent (SI) Hidden Markov Model (HMM) engine may yield a different result than a speaker independent Dynamic Time Warping (DTW) engine. Combining the results of both these engines can result in a system with better recognition accuracy and lower rejection rates than using the results of only one of the engines.
A speaker-dependent VR and a speaker independent VR may yield different results. A speaker-dependent engine performs recognition using templates pertaining to a specific user. A speaker independent engine performs recognition using templates generated using exemplars from an ensemble of users. Since speaker specific templates are closer to a given user""s speaking style, SD engines provide better accuracy than SI engines. However, SI engines have the advantage that the users need not go through the xe2x80x9ctraining processxe2x80x9d prior to using the system.
A system and method that combines engines of different types is desired. Combining multiple engines would provide enhanced accuracy and use a greater amount of information in the input speech signal. A system and method for combining VR engines is described in U.S. patent application Ser. No. 09/618,177 entitled xe2x80x9cCombined Engine System and Method for Voice Recognitionxe2x80x9d, filed Jul. 18, 2000, which is assigned to the assignee of the present invention and fully incorporated herein by reference.
A decision logic VR system can use heuristic logic to devise decision rules. The decision logic typically starts with the measured distances between a testing utterance and the top candidate (word) templates of each engine. For example, suppose two engines (engines D and H) are used. Let d1 and d2 denote the distance between the test utterance and the top two candidate words of engine D, and h1 and h2 denote the distance between the test utterance and the top two candidate words of engine H. Let dg and hg denotes the distance between the test utterance and the xe2x80x9cgarbagexe2x80x9d templates of engine D and H, respectively. The garbage templates are used to represent all words not in the vocabulary. The decision logic involves a sequence of comparisons among these measured distances and a set of pre-defined thresholds. The comparison rules and thresholds, however, need to be synthesized and adjusted on a trial-by-error basis, in part, because they cannot be systematically optimized. This is a time-consuming and difficult process. In addition, the heuristic rules may be application-dependent. For example, a new set of rules needs to be synthesized if the top three words rather than the top two words are used for each engine. It is likely that the set of rules for recognizing noise-free speech would be different from those for recognizing noisy speech.
Thus, a system and method for resolving different results from a plurality of different VR engines is desired.
The described embodiments are directed to a system and method for voice recognition. In one embodiment, a method of combining a plurality of voice recognition engines to improve voice recognition is provided. The method advantageously includes coupling a plurality of voice recognition engines to a mapping module. Each VR engine produces a hypothesis, i.e., word candidate, then the mapping module applies a mapping function to select a hypothesis from the hypotheses produced by the plurality of VR engines.
In one embodiment, speaker-independent voice recognition engines are combined. In another embodiment, speaker-dependent voice recognition engines are combined. In yet another embodiment, a speaker-independent voice recognition engine is combined with a speaker-dependent voice recognition engine.
In one embodiment, a speaker-independent voice recognition engine is a Dynamic Time Warping voice recognition engine. In one embodiment, a speaker-independent voice recognition engine is a Hidden Markov Model. In one embodiment, a speaker-dependent voice recognition engine is a Dynamic Time Warping voice recognition engine. In one embodiment, a speaker-dependent voice recognition engine is a Hidden Markov Model.